package com.qiaofang.collectmanagebff.service.impl;

import com.qiaofang.collectmanage.stub.bean.*;
import com.qiaofang.collectmanage.stub.feign.client.ElementRuleClient;
import com.qiaofang.collectmanagebff.base.vo.ElementRuleVO;
import com.qiaofang.collectmanagebff.service.ElementRuleService;
import com.qiaofang.collectmanagebff.service.util.ElementRuleConvert;
import com.qiaofang.common.model.page.PageDTO;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service("elementRuleService")
public class ElementRuleServiceImpl implements ElementRuleService {
	private static final Logger LOGGER = LoggerFactory.getLogger(ElementRuleServiceImpl.class);

	@Autowired
	private ElementRuleClient elementRuleClient;

	@Override
	public ElementRuleVO getElementRuleById(Integer  id) {
		return ElementRuleConvert.convertDTO2VO(elementRuleClient.getElementRuleById(id));
	}


	@Override
	public ElementRuleVO getElementRule(GetElementRuleDTO getElementRuleDTO) {
		return ElementRuleConvert.convertDTO2VO(elementRuleClient.getElementRule(getElementRuleDTO));
	}

	@Override
	public void saveElementRule(SaveElementRuleDTO saveElementRuleDTO) {
		 elementRuleClient.saveElementRule(saveElementRuleDTO);
	}

	@Override
	public void updateElementRule(UpdateElementRuleDTO updateElementRuleDTO) {
		elementRuleClient.updateElementRule(updateElementRuleDTO);
	}

	@Override
	public void removeElementRule(RemoveElementRuleDTO removeElementRuleDTO) {
		elementRuleClient.removeElementRule(removeElementRuleDTO);
	}

	@Override
	public SearchElementRulePageDTO searchElementRulePage(PageDTO pageDTO, SearchElementRulePostDTO searchElementRulePostDTO) {
		return elementRuleClient.searchElementRulePage(pageDTO,searchElementRulePostDTO);
	}

	@Override
	public List<TestFieldsByIdDTO> testFieldsById(List<Integer> ids) {
		return elementRuleClient.testFieldsById(ids);
	}

	@Override
	public GetFieldsDTO getFields(String collectRuleUuid) {
		return elementRuleClient.getFields(collectRuleUuid);
	}

}
